import type { RouteRecordRaw } from 'vue-router';

import type { Component } from '/@/hooks/types';

export interface RouteMeta {
    title: string;
    icon?: string;
    keepAlive?: boolean;
}

export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, 'meta'> {
    name: string;
    meta: RouteMeta;
    component?: Component | string;
    components?: Component;
    children?: AppRouteRecordRaw[];
    fullPath?: string;
    hidden?: boolean;
    isActive?: boolean;
    path?: string;
}

// export type AppRouteModule = RouteModule | AppRouteRecordRaw;
export type AppRouteModule = AppRouteRecordRaw;
